# def func():
#     print(666)
#
# func()
#1.,函数名指向的是函数的内存地址
#函数名+() 就可以执行函数
'''a=1
a()  TypeError: 'int' object is not callable'''
#2.函数名就是变量
#print(func,type(func))#<function func at 0x00000258FD4DC268> <class 'function'>

# def func():
#     print(666)
# f=func
# f1=f
# f2=f1
# f2()
def func():
    print('in func')

def func1():
    print('in func1')
#变量的赋值
func1=func
func1()
#函数名可以作为容器类数据类型的元素
'''
容器类元素
a=1
b=2
c=3
l=[a,b,c]
print(l)[1,2,3]
'''
def func1():
    print('in func1')

def func2():
    print('in func2')

def func3():
    print(' in func3')

l1=[func1,func2,func3]
for i in l1:
    i()
print('*'*20)
#函数名可以作为函数的参数
# def func(a):
#     print(a)
#     print('in func')
# b=3
# func(b)
def func():

    print('in func')

def func1(x):
    x()

func1(func)
print('*'*20)
#5.函数名可以作为函数的返回值
def func():
    print('in func')

def func1(x):
    print('in func1')
    return x

ret=func1(func)
ret()








